home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / asm / stkasm02 / stikmacr.s < prev    next >
Encoding:
Text File  |  1997-06-27  |  10.1 KB  |  464 lines

  1. *** MACROS should be loaded first in the mainfile
  2. *** STIK ASM routs by Goof 1995 (arcovang@caiw.nl)
  3. *** I tried to use as much names from the original C source
  4. *** Thanx to Steve Adam
  5.  
  6. *** Stack pointers fixed/New functions added
  7. *** by Gary Priest in May/June 1997
  8. *** These macros now work properly and are upto STiK 1.13 standards.
  9.  
  10.  
  11. *****************************************
  12. *  KRmalloc x.l                *
  13. *  allocate a block of stiks internal    *
  14. *  buffer. returns 0 if failed        *
  15. *  d0=sin otherwise            *
  16. *****************************************
  17. KRmalloc    macro
  18.     move.l    a0,-(sp)    ;save A0
  19.     move.l    \1,-(sp)    
  20.     move.l    tplpointer,a0
  21.     move.l    12(a0),a0
  22.     jsr        (a0)
  23.     lea        4(sp),sp
  24.     move.l    (sp)+,a0    
  25.     endm
  26.  
  27. *****************************************
  28. *  KRfree sin.l                *
  29. *  free a block of stiks internal    *
  30. *  buffer.                 *
  31. *****************************************
  32. KRfree    macro
  33.     move.l    a0,-(sp)    ;save A0
  34.     move.l    \1,-(sp)    
  35.     move.l    tplpointer,a0
  36.     move.l    16(a0),a0
  37.     jsr        (a0)
  38.     lea        4(sp),sp
  39.     move.l    (sp)+,a0    
  40.     endm
  41.  
  42. *****************************************
  43. *  KRgetfree flag.w            *
  44. *****************************************
  45. KRgetfree    macro
  46.     move.l    a0,-(sp)    ;save A0
  47.     move.w    \1,-(sp)    
  48.     move.l    tplpointer,a0
  49.     move.l    20(a0),a0
  50.     jsr        (a0)
  51.     lea        2(sp),sp
  52.     move.l    (sp)+,a0    
  53.     endm
  54.  
  55. *****************************************
  56. *  KRrealloc block.l,size.l        *
  57. *****************************************
  58. KRrealloc    macro
  59.     move.l    a0,-(sp)    ;save A0
  60.     move.l    \2,-(sp)    
  61.     move.l    \1,-(sp)    
  62.     move.l    tplpointer,a0
  63.     move.l    24(a0),a0
  64.     jsr        (a0)
  65.     lea        8(sp),sp
  66.     move.l    (sp)+,a0    
  67.     endm
  68.  
  69. *****************************************
  70. *  get_err_text error.w            *
  71. *****************************************
  72. get_err_text    macro
  73.     move.l    a0,-(sp)    ;save A0
  74.     move.w    \1,-(sp)    
  75.     move.l    tplpointer,a0
  76.     move.l    28(a0),a0
  77.     jsr        (a0)
  78.     lea        2(sp),sp
  79.     move.l    (sp)+,a0    
  80.     endm
  81.  
  82. *************************************************
  83. *  getvstr    x.l                *
  84. *************************************************
  85. getvstr    macro
  86.     move.l    a0,-(sp)    ;save A0
  87.     move.l    \1,-(sp)    
  88.     move.l    tplpointer,a0
  89.     move.l    32(a0),a0
  90.     jsr        (a0)
  91.     lea        4(sp),sp
  92.     move.l    (sp)+,a0    
  93.     endm
  94.  
  95. *************************************************
  96. * carrier_detect                 *
  97. *************************************************
  98. carrier_detect    macro
  99.     move.l    a0,-(sp)    ;save A0
  100.     move.l    tplpointer,a0
  101.     move.l    36(a0),a0
  102.     jsr        (a0)
  103.     move.l    (sp)+,a0    
  104.     endm
  105.  
  106. *************************************************
  107. * TCP_open h.l,p.w,t.w,o.w            *
  108. *************************************************
  109. TCP_open    macro
  110.     move.l    a0,-(sp)    ;save A0
  111.     move.w    \4,-(sp)    
  112.     move.w    \3,-(sp)    
  113.     move.w    \2,-(sp)    
  114.     move.l    \1,-(sp)    
  115.     move.l    tplpointer,a0
  116.     move.l    40(a0),a0
  117.     jsr        (a0)
  118.     lea        10(sp),sp
  119.     move.l    (sp)+,a0    
  120.     endm
  121.  
  122. *************************************************
  123. * TCP_close x.w,y.w                *
  124. *************************************************
  125. TCP_close    macro
  126.     move.l    a0,-(sp)    ;save A0
  127.     move.w    \2,-(sp)    
  128.     move.w    \1,-(sp)    
  129.     move.l    tplpointer,a0
  130.     move.l    44(a0),a0
  131.     jsr        (a0)
  132.     lea        4(sp),sp
  133.     move.l    (sp)+,a0    
  134.     endm
  135.  
  136. *************************************************
  137. * TCP_send x.w,y.l,z.w                *
  138. *************************************************
  139. TCP_send    macro
  140.     move.l    a0,-(sp)    ;save A0
  141.     move.w    \3,-(sp)    
  142.     move.l    \2,-(sp)    
  143.     move.w    \1,-(sp)    
  144.     move.l    tplpointer,a0
  145.     move.l    48(a0),a0
  146.     jsr        (a0)
  147.     lea        8(sp),sp
  148.     move.l    (sp)+,a0    
  149.     endm
  150.  
  151. *************************************************
  152. * TCP_wait_state x.w,y.w,z.w                *
  153. *************************************************
  154. TCP_wait_state    macro
  155.     move.l    a0,-(sp)    ;save A0
  156.     move.w    \3,-(sp)    
  157.     move.w    \2,-(sp)    
  158.     move.w    \1,-(sp)    
  159.     move.l    tplpointer,a0
  160.     move.l    52(a0),a0
  161.     jsr        (a0)
  162.     lea        6(sp),sp
  163.     move.l    (sp)+,a0    
  164.     endm
  165.  
  166. *************************************************
  167. * TCP_ack_wait x.w,y.w                *
  168. *************************************************
  169. TCP_ack_wait    macro
  170.     move.l    a0,-(sp)    ;save A0
  171.     move.w    \2,-(sp)    
  172.     move.w    \1,-(sp)    
  173.     move.l    tplpointer,a0
  174.     move.l    56(a0),a0
  175.     jsr        (a0)
  176.     lea        4(sp),sp
  177.     move.l    (sp)+,a0    
  178.     endm
  179.  
  180. *************************************************
  181. * UDP_open x.l,y.w                *
  182. *************************************************
  183. UDP_open    macro
  184.     move.l    a0,-(sp)    ;save A0
  185.     move.w    \2,-(sp)    
  186.     move.l    \1,-(sp)    
  187.     move.l    tplpointer,a0
  188.     move.l    60(a0),a0
  189.     jsr        (a0)
  190.     lea        6(sp),sp
  191.     move.l    (sp)+,a0    
  192.     endm
  193.  
  194. *************************************************
  195. * UDP_close x.w                    *
  196. *************************************************
  197. UDP_close    macro
  198.     move.l    a0,-(sp)    ;save A0
  199.     move.w    \1,-(sp)    
  200.     move.l    tplpointer,a0
  201.     move.l    64(a0),a0
  202.     jsr        (a0)
  203.     lea        2(sp),sp
  204.     move.l    (sp)+,a0    
  205.     endm
  206.  
  207. *************************************************
  208. * UDP_send x.w,y.l,z.w                *
  209. *************************************************
  210. UDP_send    macro
  211.     move.l    a0,-(sp)    ;save A0
  212.     move.w    \3,-(sp)    
  213.     move.l    \2,-(sp)    
  214.     move.w    \1,-(sp)    
  215.     move.l    tplpointer,a0
  216.     move.l    68(a0),a0
  217.     jsr        (a0)
  218.     lea        8(sp),sp
  219.     move.l    (sp)+,a0    
  220.     endm
  221.  
  222. *************************************************
  223. * CNkick x.w                    *
  224. *************************************************
  225. CNkick    macro
  226.     move.l    a0,-(sp)    ;save A0
  227.     move.w    \1,-(sp)    
  228.     move.l    tplpointer,a0
  229.     move.l    72(a0),a0
  230.     jsr        (a0)
  231.     lea        2(sp),sp
  232.     move.l    (sp)+,a0    
  233.     endm
  234.  
  235. *************************************************
  236. * CNbyte_count x.w                *
  237. *************************************************
  238. CNbyte_count    macro
  239.     move.l    a0,-(sp)    ;save A0
  240.     move.w    \1,-(sp)    
  241.     move.l    tplpointer,a0
  242.     move.l    76(a0),a0
  243.     jsr        (a0)
  244.     lea        2(sp),sp
  245.     move.l    (sp)+,a0    
  246.     endm
  247.  
  248. *************************************************
  249. * CNget_char x.w                *
  250. *************************************************
  251. CNget_char    macro
  252.     move.l    a0,-(sp)    ;save A0
  253.     move.w    \1,-(sp)    
  254.     move.l    tplpointer,a0
  255.     move.l    80(a0),a0
  256.     jsr        (a0)
  257.     lea        2(sp),sp
  258.     move.l    (sp)+,a0    
  259.     endm
  260.  
  261. *************************************************
  262. * CNget_NDB x.w                    *
  263. *************************************************
  264. CNget_NDB    macro
  265.     move.l    a0,-(sp)    ;save A0
  266.     move.w    \1,-(sp)    
  267.     move.l    tplpointer,a0
  268.     move.l    84(a0),a0
  269.     jsr        (a0)
  270.     lea        2(sp),sp
  271.     move.l    (sp)+,a0    
  272.     endm
  273.  
  274. *************************************************
  275. * CNget_block x.w,y.l,z.w                    *
  276. *************************************************
  277. CNget_block    macro
  278.     move.l    a0,-(sp)    ;save A0
  279.     move.w    \3,-(sp)    
  280.     move.l    \2,-(sp)    
  281.     move.w    \1,-(sp)    
  282.     move.l    tplpointer,a0
  283.     move.l    88(a0),a0
  284.     jsr        (a0)
  285.     lea        8(sp),sp
  286.     move.l    (sp)+,a0    
  287.     endm
  288.  
  289. *************************************************
  290. * housekeep                    *
  291. *************************************************
  292. housekeep    macro
  293.     move.l    a0,-(sp)    ;save A0
  294.     move.l    tplpointer,a0
  295.     move.l    92(a0),a0
  296.     jsr        (a0)
  297.     move.l    (sp)+,a0    
  298.     endm
  299.  
  300. *************************************************
  301. *  resolve dn.l,rdn.l,returnlist.l,size.w    *
  302. *************************************************
  303. resolve    macro
  304.     move.l    a0,-(sp)    ;save A0
  305.     move.w    \4,-(sp)    
  306.     move.l    \3,-(sp)    
  307.     move.l    \2,-(sp)    
  308.     move.l    \1,-(sp)    
  309.     move.l    tplpointer,a0
  310.     move.l    96(a0),a0
  311.     jsr        (a0)
  312.     lea        14(sp),sp
  313.     move.l    (sp)+,a0    
  314.     endm
  315.  
  316. *************************************************
  317. * ser_disable                    *
  318. *************************************************
  319. ser_disable    macro
  320.     move.l    a0,-(sp)    ;save A0
  321.     move.l    tplpointer,a0
  322.     move.l    100(a0),a0
  323.     jsr        (a0)
  324.     move.l    (sp)+,a0    
  325.     endm
  326.  
  327. *************************************************
  328. * ser_enable                    *
  329. *************************************************
  330. ser_enable    macro
  331.     move.l    a0,-(sp)    ;save A0
  332.     move.l    tplpointer,a0
  333.     move.l    104(a0),a0
  334.     jsr        (a0)
  335.     move.l    (sp)+,a0    
  336.     endm
  337.  
  338. *************************************************
  339. * set_flag x.w                    *
  340. *************************************************
  341. set_flag    macro
  342.     move.l    a0,-(sp)    ;save A0
  343.     move.w    /1,-(sp)
  344.     move.l    tplpointer,a0
  345.     move.l    108(a0),a0
  346.     jsr        (a0)
  347.     lea        2(sp),sp
  348.     move.l    (sp)+,a0    
  349.     endm
  350.  
  351. *************************************************
  352. * clear_flag x.w                    *
  353. *************************************************
  354. clear_flag    macro
  355.     move.l    a0,-(sp)    ;save A0
  356.     move.w    /1,-(sp)
  357.     move.l    tplpointer,a0
  358.     move.l    112(a0),a0
  359.     jsr        (a0)
  360.     lea        2(sp),sp
  361.     move.l    (sp)+,a0    
  362.     endm
  363.  
  364. *************************************************
  365. * CNgetinfo x.w                    *
  366. *************************************************
  367. CNgetinfo    macro
  368.     move.l    a0,-(sp)    ;save A0
  369.     move.w    /1,-(sp)
  370.     move.l    tplpointer,a0
  371.     move.l    116(a0),a0
  372.     jsr        (a0)
  373.     lea        2(sp),sp
  374.     move.l    (sp)+,a0    
  375.     endm
  376.  
  377. *following added by Gary Priest
  378.  
  379. *************************************************
  380. * on_port x.l                    *
  381. *************************************************
  382. on_port    macro
  383.     move.l    a0,-(sp)    ;save A0
  384.     move.l    \1,-(sp)
  385.     move.l    tplpointer,a0
  386.     move.l    120(a0),a0
  387.     jsr        (a0)
  388.     lea        4(sp),sp
  389.     move.l    (sp)+,a0    
  390.     endm
  391.  
  392. *************************************************
  393. * off_port x.l                    *
  394. *************************************************
  395. off_port    macro
  396.     move.l    a0,-(sp)    ;save A0
  397.     move.l    \1,-(sp)
  398.     move.l    tplpointer,a0
  399.     move.l    124(a0),a0
  400.     jsr        (a0)
  401.     lea        4(sp),sp
  402.     move.l    (sp)+,a0    
  403.     endm
  404.  
  405. *************************************************
  406. * setvstr x.l,y.l                *
  407. *************************************************
  408. setvstr    macro
  409.     move.l    a0,-(sp)    ;save A0
  410.     move.l    \2,-(sp)
  411.     move.l    \1,-(sp)
  412.     move.l    tplpointer,a0
  413.     move.l    128(a0),a0
  414.     jsr        (a0)
  415.     lea        8(sp),sp
  416.     move.l    (sp)+,a0    
  417.     endm
  418.  
  419. *************************************************
  420. * query_port x.l                    *
  421. *************************************************
  422. query_port    macro
  423.     move.l    a0,-(sp)    ;save A0
  424.     move.l    \1,-(sp)
  425.     move.l    tplpointer,a0
  426.     move.l    132(a0),a0
  427.     jsr        (a0)
  428.     lea        4(sp),sp
  429.     move.l    (sp)+,a0    
  430.     endm
  431.  
  432.  
  433. *************************************************
  434. *  g_resolve dn.l,rdn.l,returnlist.l,size.w    *
  435. *************************************************
  436. g_resolve    macro
  437.     move.l    a0,-(sp)    ;save A0
  438.     move.w    \4,-(sp)    
  439.     move.l    \3,-(sp)    
  440.     move.l    \2,-(sp)    
  441.     move.l    \1,-(sp)    
  442.     move.l    tplpointer,a0
  443.     move.l    136(a0),a0
  444.     jsr        (a0)
  445.     lea        14(sp),sp
  446.     move.l    (sp)+,a0    
  447.     endm
  448.  
  449.  
  450. *************************************************
  451. * g_TCP_wait_state x.w,y.w,z.w                *
  452. *************************************************
  453. g_TCP_wait_state    macro
  454.     move.l    a0,-(sp)    ;save A0
  455.     move.w    \3,-(sp)    
  456.     move.w    \2,-(sp)    
  457.     move.w    \1,-(sp)    
  458.     move.l    tplpointer,a0
  459.     move.l    140(a0),a0
  460.     jsr        (a0)
  461.     lea        6(sp),sp
  462.     move.l    (sp)+,a0    
  463.     endm
  464.